package pe.gob.osce.sirenas.wd.jsf.bean.publica;
/*
* Resumen.
* Objeto 				:	RegistroSecretarioBean.java
* Descripcion 			: 	.
* Fecha de Creacion 	: 	26/02/2015.
* Pry de Creacion 		: 	RNA/RNS.
* Autor 				: 	Julio Cayulla.
* ================================================================================================
* Modificaciones
* Motivo						Fecha		Nombre				Descripcion
* ================================================================================================
*
*/
import java.io.InputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.ResourceBundle;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.component.UIData;
import javax.faces.context.FacesContext;
import javax.faces.event.ValueChangeEvent;
import javax.security.auth.message.callback.PrivateKeyCallback.Request;

import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;

import org.apache.log4j.Logger;
import org.primefaces.context.RequestContext;
import org.primefaces.event.TabChangeEvent;

import pe.gob.osce.sirenas.model.AuditoriaDTO;
import pe.gob.osce.sirenas.model.DocenciaDTO;
import pe.gob.osce.sirenas.model.EspecialidadAcademicaDTO;
import pe.gob.osce.sirenas.model.FichaArbitralDTO;
import pe.gob.osce.sirenas.model.FormacionAcademicaDTO;
import pe.gob.osce.sirenas.model.ExperienciaLaboralDTO;
import pe.gob.osce.sirenas.model.ParametrosDTO;
import pe.gob.osce.sirenas.model.TrayectoriaArbitralDTO;
import pe.gob.osce.sirenas.svc.ObtenerDatosComunesServiceLocal;
import pe.gob.osce.sirenas.svc.RegistrarFichaArbitroServiceLocal;
import pe.gob.osce.sirenas.svc.RegistrarFichaSecretarioServiceLocal;
import pe.gob.osce.sirenas.svc.RegistrarNotificacionServiceLocal;
import pe.gob.osce.sirenas.util.ModeloException;
import pe.gob.osce.sirenas.wd.util.ConstanteWeb;
import pe.gob.osce.sirenas.wd.util.RepositorioDatos;
import pe.gob.osce.sirenas.wd.util.UBaseManage;
import pe.gob.osce.sirenas.wd.util.reporte.ReporteLstCapacitacionDS;
import pe.gob.osce.sirenas.wd.util.reporte.ReporteLstDocenciaDS;
import pe.gob.osce.sirenas.wd.util.reporte.ReporteLstEspecialidadAcademicaDS;
import pe.gob.osce.sirenas.wd.util.reporte.ReporteLstExpLaboralDS;
import pe.gob.osce.sirenas.wd.util.reporte.ReporteLstFormacionAcademicaDS;
import pe.gob.osce.sirenas.wd.util.reporte.ReporteLstTrayectoriaArbitralDS;

@ManagedBean (name="fichaSecretarioBean")
@SessionScoped
public class FichaSecretarioBean extends UBaseManage implements Serializable{

	/**
	 */
	private static final long serialVersionUID = 8223786763692900159L;

	final static Logger log = Logger.getLogger(FichaSecretarioBean.class);
	
	
	@EJB
	private	RegistrarFichaSecretarioServiceLocal	registrarFichaSecretarioService;
	@EJB
	private	RegistrarFichaArbitroServiceLocal	registrarFichaArbitroService;
	@EJB
	private	ObtenerDatosComunesServiceLocal	obtenerDatosComunesService;
	@EJB
	private RegistrarNotificacionServiceLocal registrarNotificacionService;

	ResourceBundle propSirenas = ResourceBundle.getBundle(ConstanteWeb.PROPERTIES);
	
	private	FormacionAcademicaDTO estudiosFormacionAcademica;	
	private	List<FormacionAcademicaDTO> listaFormacionAcademica;
	private	List<FormacionAcademicaDTO> listaFormacionAcademicaHistorial;
	private	ExperienciaLaboralDTO experienciaLaboral;
	private	List<ExperienciaLaboralDTO> listaexperienciaLaboral;
	private	List<ExperienciaLaboralDTO> listaExperienciaLaboralHistorial;
	private List<String> msjValidacion;
	
	private RepositorioDatos repositorio;
	
	private FichaArbitralDTO fichaArbitral;
	private RequestContext context;

	private Boolean btnAgregar;
	private Boolean btnRectificar;
	private Boolean fichaPendiente;
	private UIData uidFormacionAcademica;
	private Integer indiceListaFormacion;
	private Integer indiceListaLaboral;
	/**
	 * Resumen.	Metodo que iniciliza la bandeja de evaluacion de quejas
	 * @return cadena mapeada para la navegacion, tipo String.
	 */
	public String verFichaSecretarioPublica() {
		this.estudiosFormacionAcademica= new FormacionAcademicaDTO();		
		this.experienciaLaboral= new ExperienciaLaboralDTO();
		this.listaFormacionAcademicaHistorial=new ArrayList<FormacionAcademicaDTO>();
	
		repositorio=obtenerRepositorioDatos();
		fichaArbitral=(FichaArbitralDTO)obtenerObjetoSession(ConstanteWeb.FICHA_REGISTRO); 
		
		obtenerListaFormacionAcademica();
		

		try {
			fichaArbitral.setMapaFormacionAcademica(registrarFichaArbitroService.obtenerMapaFichaFormacionAcademica(fichaArbitral.getIdFicha()));
			//fichaArbitral.getMapaFormacionAcademica().
		}catch(Exception e){
			e.printStackTrace();
		}
		
		//******************************
		
		/**Validar permisos de Botonoes*/
		btnAgregar=true;
		btnRectificar=false;
		return "verFichaSecretarioPublica";
	}

	public void vistaPrevia()
	{
		
		setMensajeroInfo("En Construccion");
	}
	
	public void vistaConstancia()
	{
		
		setMensajeroInfo("En Construccion");
	}
	

	public void onChange(TabChangeEvent event) {
		String titulo=event.getTab().getTitle();
	       	       
		if(titulo.equals(propSirenas.getString(ConstanteWeb.ETIQ_SEC_ACADEMICO).trim())){
			btnAgregar=true;
			btnRectificar=false;
			this.estudiosFormacionAcademica= new FormacionAcademicaDTO();	
			//obtenerListaFormacionAcademica();
		}if(titulo.equals(propSirenas.getString(ConstanteWeb.ETIQ_SEC_LABORAL).trim())){
			btnAgregar=true;
			btnRectificar=false;	
			this.experienciaLaboral= new ExperienciaLaboralDTO();
			obtenerListaExperienciaLaboral();
		}
	}
	public void cerrarValidacionPopup(){
		context = RequestContext.getCurrentInstance();
		context.execute("PF('dialogValidacion').hide();");
	}

	public void cerrarConfirmaAcademicaPopup(){
		context = RequestContext.getCurrentInstance();
		context.execute("PF('dialogConfirmaAcademica').hide();");
	}

	/** Experiencia Laboral**/

	/** FIN Experiencia Laboral**/
	public void abrirConfirmacionPopup(){
		context = RequestContext.getCurrentInstance();
		context.execute("PF('dialogConfirmacion').show();");
	}
	public void abrirValidacionPopup(){
		context = RequestContext.getCurrentInstance();
		context.execute("PF('dialogValidacion').show();");
	}

	
	
	

	public void validarReglasGeneracion(){
		try{
			msjValidacion= new ArrayList<String>();
			fichaArbitral=(FichaArbitralDTO)obtenerObjetoSession(ConstanteWeb.FICHA_REGISTRO);
			boolean indicadorReglas=true;
			
			if(indicadorReglas){
				FichaArbitralDTO fichaArbitral=(FichaArbitralDTO)obtenerObjetoSession(ConstanteWeb.FICHA_REGISTRO);
				JasperPrint jasperSolicitud = new JasperPrint();
				jasperSolicitud=generaFichaSecretarioPdf(jasperSolicitud,fichaArbitral);
				guardoReporteServidor(propSirenas.getString(ConstanteWeb.FS_FICHAS),"vistaPrevia"+fichaArbitral.getNumFicha(),jasperSolicitud);
				
				abrirConfirmacionPopup();
			}else{
				abrirValidacionPopup();
			}		
		
		} catch (ModeloException e) {
			setMensajeroError(propSirenas.getString(ConstanteWeb.EXC_MODELO_TITLE),e.getMessage());
		}	 catch (Exception e) {
			setMensajeroError(propSirenas.getString(ConstanteWeb.EXC_VISTA_TITLE),propSirenas.getString(ConstanteWeb.EXC_VISTA_SOLICITUD));
		}
	}

	public void generaVistaPreviaSecretarioFicha(){
		try {
			FichaArbitralDTO fichaArbitral=(FichaArbitralDTO)obtenerObjetoSession(ConstanteWeb.FICHA_REGISTRO);
			JasperPrint jasperSolicitud = new JasperPrint();
			jasperSolicitud=generaFichaSecretarioPdf(jasperSolicitud,fichaArbitral);
			guardoReporteServidor(propSirenas.getString(ConstanteWeb.FS_FICHAS),"vistaPrevia"+fichaArbitral.getNumFicha(),jasperSolicitud);
			
			RequestContext context = RequestContext.getCurrentInstance();
			context.execute("PF('dialogVisorPDF').show();");
		} catch (ModeloException e) {
			setMensajeroError(propSirenas.getString(ConstanteWeb.EXC_MODELO_TITLE),e.getMessage());
		}	 catch (Exception e) {
			setMensajeroError(propSirenas.getString(ConstanteWeb.EXC_VISTA_TITLE),propSirenas.getString(ConstanteWeb.EXC_VISTA_SOLICITUD));
		}
	}

	public JasperPrint generaFichaSecretarioPdf(JasperPrint jasperSolicitud,FichaArbitralDTO fichaArbitral)  throws ModeloException{
		RepositorioDatos repositorioDatos=obtenerRepositorioDatos();
		
		List<FormacionAcademicaDTO> lstFormacionAcademica=ObtenerListaFormacionAcademica(repositorioDatos, fichaArbitral);
		List<ExperienciaLaboralDTO> lstExpLaboral=ObtenerListaExpLaboral(repositorioDatos, fichaArbitral);

		try {
			ReporteLstFormacionAcademicaDS formacionAcademicaDS = new ReporteLstFormacionAcademicaDS(	lstFormacionAcademica);
			ReporteLstExpLaboralDS expLaboralDS = new ReporteLstExpLaboralDS(lstExpLaboral);
			
			String rutaImagenLogo = "/recursos/imagenes/Sello Oficial.jpg";
			InputStream imgLogoSt = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream(rutaImagenLogo);
			//IMAGEN
			String rutaSubReport=obtenerRutaServidor()+"reporte\\jasper\\";
			
			HashMap parametros = new HashMap();
			parametros.put("P_IMAGEN_LOGO", imgLogoSt);
			parametros.put("SUBREPORT_DIR", rutaSubReport);
			

			parametros.put("P_NRO_FICHA",""+fichaArbitral.getNumFicha() );
			parametros.put("P_ESTADO_FICHA",""+ fichaArbitral.getEstadoFicha().getNomEstado());
			parametros.put("P_NRO_RUC", ""+fichaArbitral.getPersona().getNumRuc());
			parametros.put("P_NRO_DOCUMENTO", ""+fichaArbitral.getPersona().getNumDocumento());
			parametros.put("P_NOMBRE_COMPLETO", fichaArbitral.getPersona().getNombres()+" "+fichaArbitral.getPersona().getApPaterno()+" "+fichaArbitral.getPersona().getApMaterno());
			
			parametros.put("DS_FORM_ACADEMICA", formacionAcademicaDS);
			parametros.put("DS_LABORAL",expLaboralDS );

			parametros.put("PRINT_FORM_ACADEMICA", !lstFormacionAcademica.isEmpty());
			parametros.put("PRINT_LABORAL", !lstExpLaboral.isEmpty());
			
			
			JasperReport report = JasperCompileManager.compileReport(FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("/reporte/jasper/rptVistaPreviaSecretario.jrxml"));

			jasperSolicitud = JasperFillManager.fillReport(report,parametros);
			
		
		} catch (Exception e) {
			log.error(e.getMessage(),e);
			throw new ModeloException("Error al Generar la Ficha en PDF",e);
		}
		return jasperSolicitud;
	}
	

	private List ObtenerListaFormacionAcademica(RepositorioDatos repositorioDatos,FichaArbitralDTO fichaArbitral){
		List<FormacionAcademicaDTO> listArbFormacionAcademica= new ArrayList<FormacionAcademicaDTO>();
		try {
			listArbFormacionAcademica=registrarFichaArbitroService.obtenerFichaFormacionAcademica(fichaArbitral.getIdFicha());		

			if (listArbFormacionAcademica!= null) {
				for (FormacionAcademicaDTO formacionAcademicaDTO : listArbFormacionAcademica) {
					formacionAcademicaDTO.setIdEstadoFicha(fichaArbitral.getIdEstadoFicha());
					formacionAcademicaDTO.setDescAreaProfesion(repositorioDatos.getLabelAreaProfesion(formacionAcademicaDTO.getIdAreaProfesion()).toUpperCase());
					formacionAcademicaDTO.setDescCentroEstudios(repositorioDatos.getLabelCentroEstudios(formacionAcademicaDTO.getIdCentroEstudios()).toUpperCase());
					if(formacionAcademicaDTO.getDescripcionOtroCentro()!=null)
						formacionAcademicaDTO.setDescripcionOtroCentro(formacionAcademicaDTO.getDescripcionOtroCentro().toUpperCase());
					formacionAcademicaDTO.setDescPais(repositorioDatos.getLabelPais(formacionAcademicaDTO.getIdPais()).toUpperCase());
					formacionAcademicaDTO.setDescGradoObtenido(repositorioDatos.getLabelParametro(formacionAcademicaDTO.getIndGradoObtenido()).toUpperCase());
					formacionAcademicaDTO.setDescripcionGrado(formacionAcademicaDTO.getDescripcionGrado().toUpperCase());
				}
			}else{
				return new ArrayList<FormacionAcademicaDTO>();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return listArbFormacionAcademica;
	}


	public List ObtenerListaExpLaboral(RepositorioDatos repositorioDatos,FichaArbitralDTO fichaArbitral){
		List<ExperienciaLaboralDTO> listArbEspecialExperienciaLaboral=new ArrayList<ExperienciaLaboralDTO>();
		try {
			listArbEspecialExperienciaLaboral=registrarFichaArbitroService.obtenerFichaExpLaboral(fichaArbitral.getIdFicha());
			
			if (listArbEspecialExperienciaLaboral!= null) {
				for (ExperienciaLaboralDTO experienciaLaboralDTO : listArbEspecialExperienciaLaboral) {
					experienciaLaboralDTO.setIdEstadoFicha(fichaArbitral.getIdEstadoFicha());
					experienciaLaboralDTO.setNomCentroTrabajo(experienciaLaboralDTO.getNomCentroTrabajo().toUpperCase());
					experienciaLaboralDTO.setDescripcionCargo(experienciaLaboralDTO.getDescripcionCargo().toUpperCase());
					experienciaLaboralDTO.setVigente(convertAString(experienciaLaboralDTO.getIndicadorActual()));
				}
			}else{
				return new ArrayList<ExperienciaLaboralDTO>();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}	
		return listArbEspecialExperienciaLaboral;
	}
	
	public void obtenerListaFormacionAcademica(){
		this.indiceListaFormacion=1;

		try {
			this.listaFormacionAcademica=registrarFichaArbitroService.obtenerFichaFormacionAcademica(fichaArbitral.getIdFicha());
			if (listaFormacionAcademica!= null) {
				for (FormacionAcademicaDTO formacionAcademicaDTO : listaFormacionAcademica) {
					formacionAcademicaDTO.setIdEstadoFicha(this.fichaArbitral.getIdEstadoFicha());		
					formacionAcademicaDTO.setIndice(indiceListaFormacion);
					formacionAcademicaDTO.setDescAreaProfesion(repositorio.getLabelAreaProfesion(formacionAcademicaDTO.getIdAreaProfesion()));
					formacionAcademicaDTO.setDescCentroEstudios(repositorio.getLabelCentroEstudios(formacionAcademicaDTO.getIdCentroEstudios()));
					formacionAcademicaDTO.setDescPais(repositorio.getLabelPais(formacionAcademicaDTO.getIdPais()));
					formacionAcademicaDTO.setDescGradoObtenido(repositorio.getLabelParametro(formacionAcademicaDTO.getIndGradoObtenido()));
					indiceListaFormacion++;
				}
			}else{
				listaFormacionAcademica=new ArrayList<FormacionAcademicaDTO>();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public void obtenerListaExperienciaLaboral(){
		this.indiceListaLaboral=1;
		try {
			this.listaexperienciaLaboral=registrarFichaArbitroService.obtenerFichaExpLaboral(fichaArbitral.getIdFicha());
			if (listaexperienciaLaboral!= null) {
				for (ExperienciaLaboralDTO experienciaLaboralDTO : listaexperienciaLaboral) {
					experienciaLaboralDTO.setIdEstadoFicha(this.fichaArbitral.getIdEstadoFicha());
					experienciaLaboralDTO.setIndice(indiceListaLaboral);
					experienciaLaboralDTO.setVigente(convertAString(experienciaLaboralDTO.getIndicadorActual()));
					indiceListaLaboral++;
				}
			}else{
				this.listaexperienciaLaboral=new ArrayList<ExperienciaLaboralDTO>();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	

	
	
	
	
	
	
	
	public String convertAString(boolean indicador){
		if(indicador==true){
			return "SI";
		}else{
			return "NO";
		}
		
	}
	
	
	

	
	
	

	

	
	
	
	
	public void verHistorialFormacionAcademica(Long idFormacionAcademica){
		try {
			this.listaFormacionAcademicaHistorial= new ArrayList<FormacionAcademicaDTO>();
			this.listaFormacionAcademicaHistorial=registrarFichaArbitroService.consultarHistorialFormacionAcademica(idFormacionAcademica);
			
			if(this.listaFormacionAcademicaHistorial!=null)
			{
				for (FormacionAcademicaDTO formacionAcademicaDTO : listaFormacionAcademicaHistorial) {
					formacionAcademicaDTO.setDescAreaProfesion(repositorio.getLabelAreaProfesion(formacionAcademicaDTO.getIdAreaProfesion()));
					formacionAcademicaDTO.setDescCentroEstudios(repositorio.getLabelCentroEstudios(formacionAcademicaDTO.getIdCentroEstudios()));
					formacionAcademicaDTO.setDescPais(repositorio.getLabelPais(formacionAcademicaDTO.getIdPais()));
					formacionAcademicaDTO.setDescGradoObtenido(repositorio.getLabelParametro(formacionAcademicaDTO.getIndGradoObtenido()));			
				}
			}
		} catch (Exception e) {
			this.listaFormacionAcademicaHistorial= new ArrayList<FormacionAcademicaDTO>();
		}
		context = RequestContext.getCurrentInstance();
		context.execute("PF('dialogHistorialFormacionAcademica').show();");
		
	}
	
	public void cancelarRectificacionEspecialidad(){		
		this.listaFormacionAcademicaHistorial= new ArrayList<FormacionAcademicaDTO>();
		cerrarEspAcademicaHistorialPopup();
	}
	
	public void cerrarEspAcademicaHistorialPopup(){
		context = RequestContext.getCurrentInstance();
		context.execute("PF('dialogHistorialFormacionAcademica').hide();");
	}
	
	public void verHistorialExperienciaLaboral(Long idExperienciaLaboral){
			
			try {
				this.listaExperienciaLaboralHistorial= new ArrayList<ExperienciaLaboralDTO>();
				this.listaExperienciaLaboralHistorial=registrarFichaArbitroService.consultarHistorialExperienciaLaboral(idExperienciaLaboral);
				
			} catch (Exception e) {
				this.listaExperienciaLaboralHistorial= new ArrayList<ExperienciaLaboralDTO>();
			}
			
			context = RequestContext.getCurrentInstance();
			context.execute("PF('dialogExperienciaLaboralHistorial').show()");		
			
		}
	 public void cancelarPopupExperienciaLaboralHistorial(){
			
		 this.listaExperienciaLaboralHistorial= new ArrayList<ExperienciaLaboralDTO>();
		 cerrarExperienciaLaboralHistorialPopup();
	  }
	public void cerrarExperienciaLaboralHistorialPopup(){
			context = RequestContext.getCurrentInstance();
			context.execute("PF('dialogExperienciaLaboralHistorial').hide();");
	}
	
	
	
	
	
	/*****************Metodos Getts y Sets*****************/
	public FormacionAcademicaDTO getEstudiosFormacionAcademica() {
		return estudiosFormacionAcademica;
	}
	public void setEstudiosFormacionAcademica(FormacionAcademicaDTO estudiosFormacionAcademica) {
		this.estudiosFormacionAcademica = estudiosFormacionAcademica;
	}
	public List<FormacionAcademicaDTO> getlistaFormacionAcademica() {
		return listaFormacionAcademica;
	}
	public void setlistaFormacionAcademica(
			List<FormacionAcademicaDTO> listaFormacionAcademica) {
		this.listaFormacionAcademica = listaFormacionAcademica;
	}
	public ExperienciaLaboralDTO getexperienciaLaboral() {
		return experienciaLaboral;
	}
	public void setexperienciaLaboral(ExperienciaLaboralDTO experienciaLaboral) {
		this.experienciaLaboral = experienciaLaboral;
	}
	public List<ExperienciaLaboralDTO> getlistaexperienciaLaboral() {
		return listaexperienciaLaboral;
	}
	public void setlistaexperienciaLaboral(List<ExperienciaLaboralDTO> listaexperienciaLaboral) {
		this.listaexperienciaLaboral = listaexperienciaLaboral;
	}

	/**
	 * Metodo que permite obtener btnAgregar.
	 * @return btnAgregar , tipo Boolean.
	 */
	public Boolean getBtnAgregar() {
		return btnAgregar;
	}

	/**
	 * Permite actualizar btnAgregar.
	 * @param btnAgregar, tipo Boolean.
	 */
	public void setBtnAgregar(Boolean btnAgregar) {
		this.btnAgregar = btnAgregar;
	}

	/**
	 * Metodo que permite obtener btnRectificar.
	 * @return btnRectificar , tipo Boolean.
	 */
	public Boolean getBtnRectificar() {
		return btnRectificar;
	}

	/**
	 * Permite actualizar btnRectificar.
	 * @param btnRectificar, tipo Boolean.
	 */
	public void setBtnRectificar(Boolean btnRectificar) {
		this.btnRectificar = btnRectificar;
	}

	/**
	 * Metodo que permite obtener uidFormacionAcademica.
	 * @return uidFormacionAcademica , tipo UIData.
	 */
	public UIData getUidFormacionAcademica() {
		return uidFormacionAcademica;
	}

	/**
	 * Permite actualizar uidFormacionAcademica.
	 * @param uidFormacionAcademica, tipo UIData.
	 */
	public void setUidFormacionAcademica(UIData uidFormacionAcademica) {
		this.uidFormacionAcademica = uidFormacionAcademica;
	}

	public List<FormacionAcademicaDTO> getListaFormacionAcademicaHistorial() {
		return listaFormacionAcademicaHistorial;
	}

	public void setListaFormacionAcademicaHistorial(
			List<FormacionAcademicaDTO> listaFormacionAcademicaHistorial) {
		this.listaFormacionAcademicaHistorial = listaFormacionAcademicaHistorial;
	}

	public List<ExperienciaLaboralDTO> getListaExperienciaLaboralHistorial() {
		return listaExperienciaLaboralHistorial;
	}

	public void setListaExperienciaLaboralHistorial(
			List<ExperienciaLaboralDTO> listaExperienciaLaboralHistorial) {
		this.listaExperienciaLaboralHistorial = listaExperienciaLaboralHistorial;
	}

	/**
	 * Metodo que permite obtener msjValidacion.
	 * @return msjValidacion , tipo List<String>.
	 */
	public List<String> getMsjValidacion() {
		return msjValidacion;
	}

	/**
	 * Permite actualizar msjValidacion.
	 * @param msjValidacion, tipo List<String>.
	 */
	public void setMsjValidacion(List<String> msjValidacion) {
		this.msjValidacion = msjValidacion;
	}


	/**
	 * Metodo que permite obtener fichaPendiente.
	 * @return fichaPendiente , tipo Boolean.
	 */
	public Boolean getFichaPendiente() {
		return fichaPendiente;
	}

	/**
	 * Permite actualizar fichaPendiente.
	 * @param fichaPendiente, tipo Boolean.
	 */
	public void setFichaPendiente(Boolean fichaPendiente) {
		this.fichaPendiente = fichaPendiente;
	}

	/**
	 * Metodo que permite obtener fichaArbitral.
	 * @return fichaArbitral , tipo FichaArbitralDTO.
	 */
	public FichaArbitralDTO getFichaArbitral() {
		return fichaArbitral;
	}

	/**
	 * Permite actualizar fichaArbitral.
	 * @param fichaArbitral, tipo FichaArbitralDTO.
	 */
	public void setFichaArbitral(FichaArbitralDTO fichaArbitral) {
		this.fichaArbitral = fichaArbitral;
	}




	
}